package 面向切面编程;

import java.lang.reflect.Proxy;

import AOP.CauculatorImp;
import AOP.MyCaculatorInterFace;

public class Main {
	
	public static void main(String[] args) {
		//通过动态代理拦截加法事件
		//生成计算器
		CauculatorImp cauculatorImp = new CauculatorImp();
		//生成动态代理拦截类
		CauculatorHandle handle = new CauculatorHandle(cauculatorImp);
		//生成代理
		MyCaculatorInterFace proxy = (MyCaculatorInterFace)Proxy.newProxyInstance(cauculatorImp.getClass().getClassLoader(), cauculatorImp.getClass().getInterfaces(), handle);
		//通过代理执行 cauculatorImp的方法执行拦截
		proxy.add(1,2);
	}
	
	
}
